package org.Iteracion1.dominio;

import java.sql.SQLException;
import java.util.List;


public class Viaje {

	private int id;
	private String origen;
	private String destino;
	private String hora_salida;
	private String hora_llegada;
	private Tren tren;
	private String fecha;
	private GestorViaje gestor;
	
	/**
	 * 
	 * @param id
	 * @param origen
	 * @param destino
	 * @param salida
	 * @param llegada
	 * @param tren
	 * @param fecha
	 * @throws Exception 
	 */
	public Viaje(int id, String origen, String destino, String hora_salida, String hora_llegada, Tren tren, String fecha) throws Exception {
		// TODO - implement Viaje.Viaje
		this.id=id;
		this.origen=origen;
		this.destino=destino;
		this.hora_salida=hora_salida;
		this.hora_llegada=hora_llegada;
		this.tren=tren;
		this.fecha=fecha;
		this.gestor=new GestorViaje();
	}
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getOrigen() {
		return origen;
	}

	public void setOrigen(String origen) {
		this.origen = origen;
	}

	public String getDestino() {
		return destino;
	}

	public void setDestino(String destino) {
		this.destino = destino;
	}

	public String getHora_salida() {
		return hora_salida;
	}

	public void setHora_salida(String hora_salida) {
		this.hora_salida = hora_salida;
	}
	
	public String getHora_llegada() {
		return hora_llegada;
	}

	public void setHora_llegada(String hora_llegada) {
		this.hora_llegada = hora_llegada;
	}

	public Tren getTren() {
		return tren;
	}

	public void setTren(Tren tren) {
		this.tren = tren;
	}

	public String getFecha() {
		return fecha;
	}

	public void setFecha(String fecha) {
		this.fecha = fecha;
	}

	public int insertar() throws SQLException, Exception {
		// TODO - implement Viaje.insertar
		return gestor.insert(this);
	}

	public int modificar() throws SQLException, Exception {
		// TODO - implement Viaje.modificar
		return gestor.update(this);
	}

	public int eliminar() throws SQLException, Exception {
		// TODO - implement Viaje.eliminar
		return gestor.delete(this);
	}

	public List<Viaje> leerTodos() throws SQLException, Exception {
		// TODO - implement Viaje.leerTodos
		return gestor.readAll();
	}

	/**
	 * 
	 * @param id
	 * @throws Exception 
	 * @throws SQLException 
	 */
	public void leerViaje() throws SQLException, Exception {
		// TODO - implement Viaje.leerViaje	
		gestor.read(this);
	}

}